<?php

defined('G_IN_SYSTEM') or exit('No permission resources.');
System::load_app_class('base', 'member', 'no');
System::load_sys_fun('user');
System::load_app_fun('my');
System::load_app_fun('user');
class autolottery extends SystemAction
{
    public function __construct()
    {
        $this->db = System::load_sys_class('model');
    }
    //限时揭晓
    public function init()
    {
        $webname = $this->_cfg['web_name'];
        //header("location: ".WEB_PATH);

        System::load_sys_fun('user');
        $title = '限时揭晓'.'_'.$this->_cfg['web_name'];
        $jinri_time = abs(date('m')).'月'.date('d').'日';
        $minri_time = abs(date('m', strtotime('+1 day'))).'月'.date('d', strtotime('+1 day')).'日';

        $w_jinri_time = strtotime(date('Y-m-d'));
        $w_minri_time = strtotime(date('Y-m-d', strtotime('+1 day')));

        $shoplist = $this->db->GetList("select * from `@#_shoplist` where `xsjx_time` > '$w_jinri_time' and `xsjx_time` < '$w_minri_time' order by `xsjx_time`  limit 0,3");

            //获奖者本次总夺宝次数
        $user_shop_number = array();
        if (!empty($shoplist)) {
            foreach ($shoplist as $key => $val) {
                if ($val['xsjx_time'] < time()) {
                    $uid = $val['q_uid'];
                    $qishu = $val['qishu'];
                    $shopid = $val['id'];
                    $user_shop_list = $this->db->GetList("select * from `@#_member_go_record` where `uid`= '$uid' and `shopid` = '$shopid' and `shopqishu` = '$qishu'");
                    $user_shop_number[$uid][$shopid] = 0;
                    foreach ($user_shop_list as $user_shop_n) {
                        $user_shop_number[$uid][$shopid] += $user_shop_n['gonumber'];
                    }
                }
            }
        }

        $count = count($shoplist);
        $titlets = '抱歉，今日没有发布限时揭晓商品！';
        $date = 'today';
        $key = '限时';

         //echo "<pre>";
        // print_r($shoplist);
        include templates('mobile/index', 'autolottery');
    }

   //限时揭晓 明日
    public function next()
    {
        $webname = $this->_cfg['web_name'];
        //header("location: ".WEB_PATH);
        System::load_sys_fun('user');

        $w_minri_time = strtotime(date('Y-m-d', strtotime('+1 day')));
        $w_hinri_time = strtotime(date('Y-m-d', strtotime('+2 day')));

        $shoplist = $this->db->GetList("select * from `@#_shoplist` where `xsjx_time` > '$w_minri_time' and `xsjx_time` < '$w_hinri_time' order by `xsjx_time` limit 0,3");
        $count = count($shoplist);
        $titlets = '抱歉，明日还没有发布限时揭晓商品！';
        $date = 'next';
        $key = '限时';
        include templates('mobile/index', 'autolottery');
    }

    // //ajax 商品揭晓
    // public function autolottery_ret_install(){	
    //     $webname=$this->_cfg['web_name'];
    // 	if(isset($_POST['shopid'])){
    // 		$id = intval($_POST['shopid']);
    // 		$shop_info = $this->db->GetOne("select * from `@#_shoplist` where `id` = '$id' LIMIT 1");
    // 		file_put_contents('1.text', $shop_info);
    // 		if(!$shop_info){
    // 			echo '-1';
    // 			exit;
    // 		}

    // 		if($shop_info['xsjx_time'] > time()){
    // 			echo "-4";
    // 			exit;	
    // 		}
    // 		if($shop_info['canyurenshu']=='0'){
    // 			//$shop_info['canyurenshu'] = rand(1,$shop_info['zongrenshu']);			
    // 			echo '-3';
    // 			exit;
    // 		}

    // 		$shop_info['xsjx_time']=$shop_info['xsjx_time'].'.000';
    // 		if($shop_info['q_user_code']){
    // 			echo $shop_info['q_user_code']; 
    // 			exit;
    // 		}		

    // 		$tocode = System::load_app_class("tocode","pay");
    // 		# 我的修改
    // 		$tocode->run_tocode($shop_info['xsjx_time'],100,$shop_info['canyurenshu'],$shop_info);
    // 		$code =$tocode->go_code;

    // 		$content =$tocode->go_content;
    // 		$counttime = $tocode->count_time;
    // 		$u_go_info = $this->db->GetOne("select * from `@#_member_go_record` where `shopid` = '$shop_info[id]' and `shopqishu` = '$shop_info[qishu]' and `goucode` LIKE  '%$code%'");	
    // 		if($u_go_info){			
    // 			$u_info = $this->db->GetOne("select * from `@#_member` where `uid` = '$u_go_info[uid]'");
    // 			$q_user = serialize($u_info);
    // 			$q_uid = $u_info['uid'];				
    // 		}else{
    // 			$u_go_info = $this->db->GetOne("select * from `@#_member_go_record` where `shopid` = '$shop_info[id]' and `shopqishu` = '$shop_info[qishu]' order by `gonumber` DESC");
    // 			$u_info = $this->db->GetOne("select * from `@#_member` where `uid` = '$u_go_info[uid]'");
    // 			$q_user = serialize($u_info);
    // 			$q_uid = $u_info['uid'];
    // 		}

    // 		$this->db->Autocommit_start();

    // 			$q_1 = $this->db->Query("UPDATE `@#_shoplist` SET								
    // 							`q_uid` = '$q_uid',
    // 							`q_user` = '$q_user',
    // 							`q_user_code` = '$code',
    // 							`q_content`	= '$content',
    // 							`q_counttime` ='$counttime',
    // 							`q_end_time` = '$shop_info[xsjx_time]'
    // 							 where `id` = '$id'");
    // 			if($u_go_info){
    // 				$q_2 = $this->db->Query("UPDATE `@#_member_go_record` SET `huode` = '$code' where `code` = '$u_go_info[code]' and `uid` = '$u_go_info[uid]' and `shopid` = '$id' and `shopqishu` = '$shop_info[qishu]'");
    // 			}else{
    // 				$q_2 = true;
    // 			}
    // 			$q_3 = $this->autolottery_install($shop_info);
    // 			if($q_1 && $q_2 && $q_3){					
    // 				$this->db->Autocommit_commit();	
    // 				echo $code."夺宝码";
    // 				exit;
    // 			}else{					
    // 				$this->db->Autocommit_rollback();					
    // 				echo '-2';
    // 				exit;				
    // 			}

    // 	}
    // 	echo '-1';
    // 	exit;
    // }//
    //ajax 商品揭晓

    public function autolottery_ret_install()
    {
        $dd = $this->segment(4);
        $_POST = empty($dd) ?  $_POST : $dd;
        file_put_contents('./system/modules/mobile/tpl/id.text', $_POST);
        $id = intval(file_get_contents('./system/modules/mobile/tpl/id.text'));
        $this->db->Autocommit_start();
        $shop_info = $this->db->GetOne("select * from `@#_shoplist` where `id` = '$id' for update");

        if (!$shop_info) {
            echo '-1';
            exit;
        }

        if ($shop_info['xsjx_time'] > time()) {
            echo '-4';
            exit;
        }

        if ($shop_info['canyurenshu'] == '0') {
            echo '-3';
            exit;
        }

        if (!empty($shop_info['q_user_code']) && ($shop_info['q_showtime'] == 'Y')) {
            echo '-6';
            exit;
        }

        if (!empty($shop_info['q_user_code']) && ($shop_info['q_showtime'] == 'N')) {
            echo $shop_info['q_user_code'];
            exit;
        }

        $shop_info['xsjx_time'] = $shop_info['xsjx_time'].'.000';
        $tocode = System::load_app_class('tocode', 'pay');

        /*mark_by_gw  中奖用户和中奖码*/
        $tocode->run_tocode($shop_info['xsjx_time'], 100, $shop_info['canyurenshu']);
        $code = $tocode->go_code;
        $content = $tocode->go_content;
        $counttime = $tocode->count_time;
        $u_go_info = $this->db->GetOne("select * from `@#_member_go_record` where `shopid` = '$shop_info[id]' and `shopqishu` = '$shop_info[qishu]' and `goucode` LIKE  '%$code%'");

        if ($u_go_info) {
            $u_info = $this->db->GetOne("select * from `@#_member` where `uid` = '$u_go_info[uid]'");
            $q_user = serialize($u_info);
            $q_uid = $u_info['uid'];
        } else {
            $reg_code = $this->suan_zd_code($shop_info['id'], $code);
            if (!$reg_code) {
                echo '-2';
                exit;
            }

            $u_go_info = $this->db->GetOne("select * from `@#_member_go_record` where `shopid` = '$shop_info[id]' and `shopqishu` = '$shop_info[qishu]' and `goucode` LIKE  '%$reg_code%'");
            $u_info = $this->db->GetOne("select * from `@#_member` where `uid` = '$u_go_info[uid]'");
            $q_user = serialize($u_info);
            $q_uid = $u_info['uid'];
        }

        $q_1 = $this->db->Query("UPDATE `@#_shoplist` SET								
								`q_uid` = '$q_uid',
								`q_user` = '$q_user',
								`q_user_code` = '$code',
								`q_content`	= '$content',
								`q_counttime` ='$counttime',
								`q_end_time` = '$shop_info[xsjx_time]'
								 where `id` = '$id'");
        if ($u_go_info) {
            $q_2 = $this->db->Query("UPDATE `@#_member_go_record` SET `huode` = '$code' where `id` = '$u_go_info[id]'");
        } else {
            $q_2 = true;
        }

        $q_3 = $this->autolottery_install($shop_info);

        if ($q_1 && $q_2 && $q_3) {
            $this->db->Autocommit_commit();

            echo '-6';
            exit;
        } else {
            $this->db->Autocommit_rollback();

            echo '-2';
            exit;
        }
    }

    private function suan_zd_code($gid, $r_code)
    {
        $codes = $this->db->GetList("select goucode from `@#_member_go_record` where `shopid` = '$gid'");

        if (empty($codes)) {
            return false;
        }

        $html = '';
        foreach ($codes as $cv) {
            $html .= $cv['goucode'].',';
        }

        if (empty($codes)) {
            return false;
        }
        $codes = explode(',', $html);
        array_pop($codes);
        asort($codes);    //正序
        unset($html);

        $go_code = $r_code;
        if ($go_code > end($codes)) {
            $zd_jin_code = end($codes);
        } else {
            $t = 90000000;
            foreach ($codes as $k => $v) {
                $s = abs($go_code - $v);
                if ($s <= $t) {
                    $t = $s;
                    $zd_jin_code = $v;
                } else {
                    break;
                }
            }
        }
        unset($codes);

        return $zd_jin_code;
    }

    private function autolottery_install($shop = null)
    {
        if ($shop['qishu'] < $shop['maxqishu']) {
            $time = time();

            System::load_app_fun('content', G_ADMIN_DIR);

            $goods = $shop;

            $qishu = $goods['qishu'] + 1;

            $shenyurenshu = $goods['zongrenshu'] - $goods['def_renshu'];

            $query_table = content_get_codes_table();

            $q_1 = $this->db->Query("INSERT INTO `@#_shoplist` (`sid`,`cateid`, `brandid`, `title`, `title_style`, `title2`, `keywords`, `description`, `money`, `yunjiage`, `zongrenshu`, `canyurenshu`,`shenyurenshu`,`def_renshu`, `qishu`,`maxqishu`,`thumb`, `picarr`, `content`,`codes_table`,`xsjx_time`,`renqi`,`pos`, `time`)


					VALUES


					('$goods[sid]','$goods[cateid]','$goods[brandid]','$goods[title]','$goods[title_style]','$goods[title2]','$goods[keywords]','$goods[description]','$goods[money]','$goods[yunjiage]','$goods[zongrenshu]','$goods[def_renshu]','$shenyurenshu','$goods[def_renshu]','$qishu','$goods[maxqishu]','$goods[thumb]','$goods[picarr]','$goods[content]','$query_table','0','$goods[renqi]','$goods[pos]','$time')


					");

            $id = $this->db->insert_id();

            $q_2 = content_get_go_codes($goods['zongrenshu'], 3000, $id);

            if ($q_1 && $q_2) {
                return true;
            } else {
                return false;
            }
        }

        return true;
    }
}
